From 29b0a2f07a0aaa952c97d7eddf65aed2f1c6ba3e Mon Sep 17 00:00:00 2001 From: revisto Date: Tue, 16 Dec 2025 19:28:59 +0330 Subject: [PATCH] status/volume: Use default color for muted microphone indicator The muted indicator status is currently hard to distinguish from the unmuted one. As there is no privacy concern when muted, don't apply the privacy-indicator styling in that state so the states become more distinct. Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8077 Part-of: --- js/ui/status/volume.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/js/ui/status/volume.js b/js/ui/status/volume.js index 7b944f6ca..4f57ebb3a 100644 --- a/js/ui/status/volume.js +++ b/js/ui/status/volume.js @@ -502,8 +502,6 @@ class InputIndicator extends VolumeIndicator { constructor() { super(); - this._indicator.add_style_class_name('privacy-indicator'); - this._indicator.connect('scroll-event', (actor, event) => this._handleScrollEvent(this._input, event)); @@ -519,6 +517,7 @@ class InputIndicator extends VolumeIndicator { if (icon) this._indicator.icon_name = icon; + this._updatePrivacyIndicator(); }); this._input.bind_property('visible', @@ -530,6 +529,15 @@ class InputIndicator extends VolumeIndicator { this._onControlStateChanged(); } + _updatePrivacyIndicator() { + // Muted microphone doesn't need privacy indicator (no privacy concern) + const {isMuted} = this._input._stream; + if (isMuted) + this._indicator.remove_style_class_name('privacy-indicator'); + else + this._indicator.add_style_class_name('privacy-indicator'); + } + _onControlStateChanged() { if (this._control.get_state() === Gvc.MixerControlState.READY) this._readInput(); -- 2.39.5